<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>Kinetis Bootloader: SB File Format</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="nxp_logo_small.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Kinetis Bootloader
   &#160;<span id="projectnumber">2.0.0</span>
   </div>
   <div id="projectbrief">Common bootloader for Kinetis devices</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Introduction</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li class="current"><a href="modules.html"><span>Modules</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('group__sb__file__format.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#enum-members">Enumerations</a>  </div>
  <div class="headertitle">
<div class="title">SB File Format<div class="ingroups"><a class="el" href="group__sbloader.html">SB Loader</a></div></div>  </div>
</div><!--header-->
<div class="contents">

<p>SB file format definitions.  
<a href="#details">More...</a></p>
<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-0-trigger" src="closed.png" alt="+"/> Collaboration diagram for SB File Format:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<center><table><tr><td><div class="center"><iframe scrolling="no" frameborder="0" src="group__sb__file__format.svg" width="252" height="38"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</td></tr></table></center>
</div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:structsb__version__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sb__file__format.html#structsb__version__t">sb_version_t</a></td></tr>
<tr class="memdesc:structsb__version__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Version struct used in SB files.  <a href="group__sb__file__format.html#structsb__version__t">More...</a><br /></td></tr>
<tr class="separator:structsb__version__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structsb__image__header__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sb__file__format.html#structsb__image__header__t">sb_image_header_t</a></td></tr>
<tr class="memdesc:structsb__image__header__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Header for the entire boot image.  <a href="group__sb__file__format.html#structsb__image__header__t">More...</a><br /></td></tr>
<tr class="separator:structsb__image__header__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structsb__dek__dictionary__entry__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sb__file__format.html#structsb__dek__dictionary__entry__t">sb_dek_dictionary_entry_t</a></td></tr>
<tr class="memdesc:structsb__dek__dictionary__entry__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Entry in <a class="el" href="group__sb__file__format.html#structsb__dek__dictionary__t" title="The DEK dictionary always follows the image header, in the next cipher block. ">sb_dek_dictionary_t</a>.  <a href="group__sb__file__format.html#structsb__dek__dictionary__entry__t">More...</a><br /></td></tr>
<tr class="separator:structsb__dek__dictionary__entry__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structsb__dek__dictionary__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sb__file__format.html#structsb__dek__dictionary__t">sb_dek_dictionary_t</a></td></tr>
<tr class="memdesc:structsb__dek__dictionary__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">The DEK dictionary always follows the image header, in the next cipher block.  <a href="group__sb__file__format.html#structsb__dek__dictionary__t">More...</a><br /></td></tr>
<tr class="separator:structsb__dek__dictionary__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structsb__section__header__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sb__file__format.html#structsb__section__header__t">sb_section_header_t</a></td></tr>
<tr class="memdesc:structsb__section__header__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Information about each section, held in the section table.  <a href="group__sb__file__format.html#structsb__section__header__t">More...</a><br /></td></tr>
<tr class="separator:structsb__section__header__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structsb__section__table__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sb__file__format.html#structsb__section__table__t">sb_section_table_t</a></td></tr>
<tr class="memdesc:structsb__section__table__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">An index of all sections within the boot image.  <a href="group__sb__file__format.html#structsb__section__table__t">More...</a><br /></td></tr>
<tr class="separator:structsb__section__table__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ga4caf8d8f829279fba122163d961608a4"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br />
&#160;&#160;<a class="el" href="group__sb__file__format.html#gga4caf8d8f829279fba122163d961608a4af3772a8a2c141ecd55e7bf3f7940155e">ROM_DISPLAY_PROGRESS</a> = (1 &lt;&lt; 0), 
<br />
&#160;&#160;<a class="el" href="group__sb__file__format.html#gga4caf8d8f829279fba122163d961608a4a508a440c599acdf52cff16397cd58fe2">ROM_VERBOSE_PROGRESS</a> = (1 &lt;&lt; 1)
<br />
 }<tr class="memdesc:ga4caf8d8f829279fba122163d961608a4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flag constants for the m_flags field of <a class="el" href="group__sb__file__format.html#structsb__image__header__t" title="Header for the entire boot image. ">sb_image_header_t</a>.  <a href="group__sb__file__format.html#ga4caf8d8f829279fba122163d961608a4">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:ga4caf8d8f829279fba122163d961608a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga96a58e29e8dbf2b5bdeb775cba46556e"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br />
&#160;&#160;<a class="el" href="group__sb__file__format.html#gga96a58e29e8dbf2b5bdeb775cba46556ea38cc512e287d441e317ec2bba9b3b0c0">ROM_SECTION_BOOTABLE</a> = (1 &lt;&lt; 0), 
<br />
&#160;&#160;<a class="el" href="group__sb__file__format.html#gga96a58e29e8dbf2b5bdeb775cba46556ea3973a06d46c03b5607ca7f44d2b58deb">ROM_SECTION_CLEARTEXT</a>
<br />
 }<tr class="memdesc:ga96a58e29e8dbf2b5bdeb775cba46556e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Section flags constants for the m_flags field of <a class="el" href="group__sb__file__format.html#structsb__section__header__t" title="Information about each section, held in the section table. ">sb_section_header_t</a>.  <a href="group__sb__file__format.html#ga96a58e29e8dbf2b5bdeb775cba46556e">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:ga96a58e29e8dbf2b5bdeb775cba46556e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Usage Information</h2>
<p>SB file format definitions. </p>
<hr/><h2 class="groupheader">Data Structure Documentation</h2>
<a name="structsb__version__t" id="structsb__version__t"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct sb_version_t</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"><p>Version struct used in SB files. </p>
</div><table class="fieldtable">
<tr><th colspan="3">Data Fields</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a4cdf1d41b70ca7eee259b78b562b4b06"></a>uint16_t</td>
<td class="fieldname">
m_major</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a8fcf715203bde4b550cd81791f1f33a9"></a>uint16_t</td>
<td class="fieldname">
m_minor</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a635787590f7bcbf6d7315dd26b55b9eb"></a>uint16_t</td>
<td class="fieldname">
m_pad0</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a30e0f41fa5616e92c3b6b12cc5c2f191"></a>uint16_t</td>
<td class="fieldname">
m_pad1</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="af08660a60cf2675c604ae579fb439469"></a>uint16_t</td>
<td class="fieldname">
m_pad2</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a6c1176757fffa6fc35c1a0704d0e91b3"></a>uint16_t</td>
<td class="fieldname">
m_revision</td>
<td class="fielddoc">
</td></tr>
</table>

</div>
</div>
<a name="structsb__image__header__t" id="structsb__image__header__t"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct sb_image_header_t</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"><p>Header for the entire boot image. </p>
<p>Fields of this header are arranged so that those used by the bootloader ROM all come first. They are also set up so that all fields are not split across cipher block boundaries. The fields not used by the bootloader are not subject to this restraint.</p>
<p>Image header size is always a round number of cipher blocks. The same also applies to the boot image itself. The padding, held in #sb_image_header_t::m_padding0 and #sb_image_header_t::m_padding1 is filled with random bytes.</p>
<p>The DEK dictionary, section table, and each section data region must all start on cipher block boundaries.</p>
<p>This header is not encrypted in the image file.</p>
<p>The m_digest field contains a SHA-1 digest of the fields of the header that follow it. It is the first field in the header so it doesn't change position or split the header in two if fields are added to the header. </p>
</div><div id="dynsection-1" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-1-trigger" src="closed.png" alt="+"/> Collaboration diagram for sb_image_header_t:</div>
<div id="dynsection-1-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-1-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structsb__image__header__t__coll__graph.svg" width="210" height="142"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="fieldtable">
<tr><th colspan="3">Data Fields</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="ab61d1b3508c64086dce3f8ee0f10fd05"></a><a class="el" href="group__sb__file__format.html#structsb__version__t">sb_version_t</a></td>
<td class="fieldname">
m_componentVersion</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a1e047bde7866012fc04ab0f53492a092"></a>uint8_t</td>
<td class="fieldname">
m_digest[20]</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a41c2e284b819e1561f0faf9daf25ed11"></a>uint16_t</td>
<td class="fieldname">
m_driveTag</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a9d2280f146344f992f0fc3d0d64a67bb"></a>uint32_t</td>
<td class="fieldname">
m_firstBootableSectionID</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a2cf9f4cb6a3613932328601fa680846f"></a>uint32_t</td>
<td class="fieldname">
m_firstBootTagBlock</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="ae9339abc237f5536099c0bae8b2d1141"></a>uint16_t</td>
<td class="fieldname">
m_flags</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a881329a1716efdd424f03597d1b3829e"></a>uint16_t</td>
<td class="fieldname">
m_headerBlocks</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a9f7063f5f65831d21794e75eb9f5a76f"></a>uint32_t</td>
<td class="fieldname">
m_imageBlocks</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a251ca54b0d4d5f9591be0195fd36dd23"></a>uint16_t</td>
<td class="fieldname">
m_keyCount</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a2ea43581b5cadf838dd348bbf09bcdcb"></a>uint16_t</td>
<td class="fieldname">
m_keyDictionaryBlock</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a2ddf8bf63f3421f3012dcee1224af5a2"></a>uint8_t</td>
<td class="fieldname">
m_majorVersion</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a7ae1dbf0b6fcf048d3122a649f949cc0"></a>uint8_t</td>
<td class="fieldname">
m_minorVersion</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a5887b309c8183b33f7e43a1841be3315"></a>uint8_t</td>
<td class="fieldname">
m_padding0[2]</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a41c24c6d844a1ca4be6460ade20ccab6"></a>uint8_t</td>
<td class="fieldname">
m_padding1[6]</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="ae4c1613ed7580c41923c42e55412a86c"></a><a class="el" href="group__sb__file__format.html#structsb__version__t">sb_version_t</a></td>
<td class="fieldname">
m_productVersion</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a82739a76bbcae512b8af62212608eef3"></a>uint16_t</td>
<td class="fieldname">
m_sectionCount</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a824eaeff9c8dfbf1039e8ddc81a39a6c"></a>uint16_t</td>
<td class="fieldname">
m_sectionHeaderSize</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a008c72ebaab6f13c3c146b6211fc28a0"></a>uint32_t</td>
<td class="fieldname">
m_signature</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="ae47170931ec76f11bb82fd1bdd73c908"></a>uint32_t</td>
<td class="fieldname">
m_signature2</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="aa6091d699b96e2b81b1637ffdb2edd9f"></a>uint64_t</td>
<td class="fieldname">
m_timestamp</td>
<td class="fielddoc">
</td></tr>
</table>

</div>
</div>
<a name="structsb__dek__dictionary__entry__t" id="structsb__dek__dictionary__entry__t"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct sb_dek_dictionary_entry_t</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"><p>Entry in <a class="el" href="group__sb__file__format.html#structsb__dek__dictionary__t" title="The DEK dictionary always follows the image header, in the next cipher block. ">sb_dek_dictionary_t</a>. </p>
<p>The m_dek field in each entry is encrypted using the KEK with the m_iv field from the image header as the IV. </p>
</div><table class="fieldtable">
<tr><th colspan="3">Data Fields</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="aaabf2d0ff2e2279f52aec66857aed60e"></a>uint8_t</td>
<td class="fieldname">
m_dek[16]</td>
<td class="fielddoc">
AES-128 key with which the image payload is encrypted. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="ac20c791b69ea03eb6c6cbfcbe58441a4"></a>uint8_t</td>
<td class="fieldname">
m_mac[16]</td>
<td class="fielddoc">
CBC-MAC of the header. </td></tr>
</table>

</div>
</div>
<a name="structsb__dek__dictionary__t" id="structsb__dek__dictionary__t"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct sb_dek_dictionary_t</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"><p>The DEK dictionary always follows the image header, in the next cipher block. </p>
</div><div id="dynsection-2" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-2-trigger" src="closed.png" alt="+"/> Collaboration diagram for sb_dek_dictionary_t:</div>
<div id="dynsection-2-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-2-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structsb__dek__dictionary__t__coll__graph.svg" width="186" height="127"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="fieldtable">
<tr><th colspan="3">Data Fields</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a9dc2c6a9ffd33da901a751da7d51a903"></a><a class="el" href="group__sb__file__format.html#structsb__dek__dictionary__entry__t">sb_dek_dictionary_entry_t</a></td>
<td class="fieldname">
m_entries[1]</td>
<td class="fielddoc">
</td></tr>
</table>

</div>
</div>
<a name="structsb__section__header__t" id="structsb__section__header__t"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct sb_section_header_t</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"><p>Information about each section, held in the section table. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__sb__file__format.html#structsb__section__table__t" title="An index of all sections within the boot image. ">sb_section_table_t</a> </dd></dl>
</div><table class="fieldtable">
<tr><th colspan="3">Data Fields</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="af1942661f0661ce44cb8e6f4af7df19a"></a>uint32_t</td>
<td class="fieldname">
m_flags</td>
<td class="fielddoc">
Section flags. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a5f3283a6d9bb737c764db3cc67b86560"></a>uint32_t</td>
<td class="fieldname">
m_length</td>
<td class="fielddoc">
Size of section data in blocks. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a597c4377a034247f9a3fee82bff09570"></a>uint32_t</td>
<td class="fieldname">
m_offset</td>
<td class="fielddoc">
Offset to section data from start of image in blocks. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a33d4709b12c734af66fd03ca05e8144d"></a>uint32_t</td>
<td class="fieldname">
m_tag</td>
<td class="fielddoc">
Unique identifier for this section. High bit must be zero. </td></tr>
</table>

</div>
</div>
<a name="structsb__section__table__t" id="structsb__section__table__t"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct sb_section_table_t</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"><p>An index of all sections within the boot image. </p>
<p>The section table will be padded so that its length is divisible by 16 (if necessary). Actually, each entry is padded to be a round number of cipher blocks, which automatically makes this true for the entire table.</p>
<p>Sections are ordered as they appear in this table, but are identified by the <a class="el" href="group__sb__file__format.html#a33d4709b12c734af66fd03ca05e8144d" title="Unique identifier for this section. High bit must be zero. ">sb_section_header_t::m_tag</a>.</p>
<p>The data for each section in encrypted separately with the DEK in CBC mode using m_iv for the IV. This allows the ROM to jump to any given section without needing to read the previous cipher block. In addition, the data for each section is prefixed with a "boot tag", which describes the section which follows it.</p>
<p>The section table starts immediately after the image header, coming before the key dictionary (if present). The section table is not encrypted. </p>
</div><div id="dynsection-3" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-3-trigger" src="closed.png" alt="+"/> Collaboration diagram for sb_section_table_t:</div>
<div id="dynsection-3-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-3-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structsb__section__table__t__coll__graph.svg" width="155" height="127"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="fieldtable">
<tr><th colspan="3">Data Fields</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a1ae00d47a3f19d5fedad9b5e3fb63752"></a><a class="el" href="group__sb__file__format.html#structsb__section__header__t">sb_section_header_t</a></td>
<td class="fieldname">
m_sections[1]</td>
<td class="fielddoc">
The table entries. </td></tr>
</table>

</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="ga4caf8d8f829279fba122163d961608a4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Flag constants for the m_flags field of <a class="el" href="group__sb__file__format.html#structsb__image__header__t" title="Header for the entire boot image. ">sb_image_header_t</a>. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="gga4caf8d8f829279fba122163d961608a4af3772a8a2c141ecd55e7bf3f7940155e"></a>ROM_DISPLAY_PROGRESS&#160;</td><td class="fielddoc">
<p>Print progress reports. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga4caf8d8f829279fba122163d961608a4a508a440c599acdf52cff16397cd58fe2"></a>ROM_VERBOSE_PROGRESS&#160;</td><td class="fielddoc">
<p>Progress reports are verbose. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="ga96a58e29e8dbf2b5bdeb775cba46556e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Section flags constants for the m_flags field of <a class="el" href="group__sb__file__format.html#structsb__section__header__t" title="Information about each section, held in the section table. ">sb_section_header_t</a>. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="gga96a58e29e8dbf2b5bdeb775cba46556ea38cc512e287d441e317ec2bba9b3b0c0"></a>ROM_SECTION_BOOTABLE&#160;</td><td class="fielddoc">
<p>The section contains bootloader commands. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga96a58e29e8dbf2b5bdeb775cba46556ea3973a06d46c03b5607ca7f44d2b58deb"></a>ROM_SECTION_CLEARTEXT&#160;</td><td class="fielddoc">
<p>The section is unencrypted. Applies only if the rest of the boot image is encrypted. </p>
</td></tr>
</table>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">Generated on Mon Mar 7 2016 16:48:23 for Kinetis Bootloader by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
  </ul>
</div>
</body>
</html>
